/*
	PROG: scavhunt
	LANG: C++
	ID: luiza1
*/

#include <stdio.h>
using namespace std;

int p, q;
int cases;

int factP[6000];
int nfactP, nfactQ;
int factQ[6000];

int main() {
	freopen("scavhunt.in", "r", stdin);
	freopen("scavhunt.out", "w", stdout);

//	scanf("%d", &cases);

//	while (cases--) {
		scanf("%d %d", &p, &q);
		
		nfactP=0; nfactQ=0;

		for (int i=1; i<=p; i++)
			if (p%i==0) {
				factP[nfactP]=i;
				nfactP++;
			}
	
		for (int i=1; i<=q; i++)
			if (q%i==0) {
				factQ[nfactQ]=i;
				nfactQ++;
			}

		for (int i=0; i<nfactP; i++) {
			for (int j=0; j<nfactQ; j++)
				printf("%d %d\n", factP[i], factQ[j]);
		}
		
//	}

	return 0;
}
